﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TouchLibEvents;

namespace nl.tno.ict.multitouch.wpfmultitouch
{
    public interface ITouchManager
    {        
        /// <summary>
        /// Do not use...
        /// </summary>
        /// <param name="fingerObject"></param>
        void UpdateFinger(Touch fingerObject, List<TuioMoveFingerEventArgs> history);

        /// <summary>
        /// Do not use...
        /// </summary>
        /// <param name="workingObject"></param>
        void RemoveFinger(Touch t);

        /// <summary>
        /// Do not use...
        /// </summary>
        /// <param name="touch"></param>
        void NewFinger(Touch touch);

        /// <summary>
        /// Do not use...
        /// </summary>
        /// <param name="fingerObject"></param>
        void FingerRaised(FingerObject fingerObject);

        /// <summary>
        /// Get the amount of fingers touching the current object.
        /// </summary>
        int FingerCount { get; }

        /// <summary>
        /// Gets the OnTop property. Changes the z-index when a object is touched. Default: true
        /// </summary>
        bool OnTop { get; }

        

        event nl.tno.ict.multitouch.wpfmultitouch.Events.TouchEventHandler NewTouch;
        event nl.tno.ict.multitouch.wpfmultitouch.Events.TouchEventHandler UpdateTouch;
        event nl.tno.ict.multitouch.wpfmultitouch.Events.TouchEventHandler RemoveTouch;
        event Events.TouchEventHandler TwinClick;
        event Events.TouchEventHandler DoubleClick;
        
    }
}
